/**
 * A Reader Interface that can be extended by CSV Readers, DB Readers, http readers, 
 * json readers independent of the data source
 */
class RowDataReader
{
    RowDataSource dataSource
    
    RowDataReader() {}

    /**
     * override to provide final implementation
     */
    def init(RowDataSource dataSource)
    {
        this.dataSource = dataSource
    }

    // overridden reader.getValue() to provide CSV implementation
    String getFieldValue(String fieldName)
    {
        return ""
    }
    
    // String[]
    def getFieldNames()
    {
        return []
    }


    /*
     * override to provide implementation
     */
    void iterate(rowCallbackClosure)
    {   
    }

}
